package com.common.service.evaluate;

import com.common.entity.evaluate.CheckEvaluateEntity;
import com.common.entity.target.TargetItemEntity;
import com.common.excel.BaseImportVo;
import com.common.excel.ImportService;
import com.common.excel.excelinfo.EvaluateExportExcelInfo;
import com.common.query.ConditionService;
import com.common.requestvo.evaluate.CheckEvaluateImportReqVo;
import com.common.requestvo.evaluate.CheckEvaluateReqVo;
import com.common.requestvo.evaluate.EvaluateInitReqVo;
import com.common.requestvo.target.TargetItemReqVo;
import com.common.vo.evaluate.CheckEvaluateVo;
import com.common.vo.target.TargetItemVo;
import com.querydsl.core.Tuple;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import java.util.List;

/**
 * @author johnny
 * @create 2021-05-14 8:57 下午
 **/
public interface CheckEvaluateService extends ConditionService<Tuple>, ImportService<BaseImportVo> {

    /**
     * 分页查询接口
     *
     * @param checkEvaluateReqVo
     * @param pageVo
     * @return
     */
    Page<CheckEvaluateVo> listByCondition(CheckEvaluateReqVo checkEvaluateReqVo, Pageable pageVo);

    void add(CheckEvaluateReqVo checkEvaluateReqVo);

    void edit(CheckEvaluateReqVo checkEvaluateReqVo);

    void delete(Long id);

    void initEvaluateData(EvaluateInitReqVo evaluateInitReqVo);

    List<EvaluateExportExcelInfo> findForExcel(CheckEvaluateReqVo checkEvaluateReqVo);

}